package net.freestu.sola.web.parser.Parse;

import java.io.File;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import net.freestu.sola.web.global.GlobleVar;
import net.freestu.sola.web.util.FileManager;


/**
 * 站点删除的检测情况.
 * 生成站点生成信息.
 * @author 秋刀鱼的滋味
 *
 */
public class SiteDeleteParse {
	
	private List delsites;
	private File xmldir;//检测的主目录.
	private File crawlfolder;//
	
	
	public SiteDeleteParse(){
		
		delsites=new ArrayList();
		String work_place=GlobleVar.WORKPLACE;
		String School=GlobleVar.SCHOOL;
		String Site=GlobleVar.SITE;
		
		crawlfolder=new File(work_place,School+File.separator
				+Site+File.separator+"Crawl Folder");
		xmldir=new File(work_place,School+File.separator
						+Site+File.separator+"XmlData Folder");
		
	}
	/**
	 * 如果出现数组越界的情况则,将不再执行该函数.
	 */
	public void exe(){
		
		try {
			detect();//可能出现数据越界的情况.测试一般不会出现数据越界的情况
		} catch (Exception e) {
			e.printStackTrace();
			return;
		}
		
		Iterator it=delsites.iterator();//装有多个文件.
		
		while(it.hasNext()){
	
			File f=(File)it.next();//www.lib.cdut.edut.cn文件夹.
			
			/*
			try {
				System.out.println("执行到这里2");
				System.out.println(f.getName());
				Thread.sleep(5000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}*/
			
		    OutPutDeleteSite opds=new OutPutDeleteSite(f);//输出到Delete文件.\
		    opds.analyze();//!!测试
		    opds.output();//将文件输出到文件夹中
		    
		    //删除 XmlFolder\lib.cdut.edu.cn文件夹
		    FileManager.delete(f);//将文件里f的文件删除.
			f.delete();//将文件f删除.
			//避免在下次更新操作再出现混淆.
		}
	}
	
	/**
	 * 检测删除网站到delsites里面.
	 * 这个有可能出现数组越界异常.
	 */
	private void detect()
	  throws Exception{
		
		File[] xmldirs=xmldir.listFiles();
		File[] pagedirs=crawlfolder.listFiles();
		
		try {
			int len=xmldirs.length;
		} catch (NullPointerException e) {
			// TODO Auto-generated catch block
			return;
		}
		
		f1:
		for(int i=0;i<xmldirs.length;i++){
			
			File x=xmldirs[i];//lib.cdut.edu.cn这个文件
			
			for(int j=0;j<pagedirs.length;j++){
				
				File p=pagedirs[j];
				if(x.getName().equals(p.getName())){ 
					continue f1;
				}
			}
			delsites.add(x);
		}
		
	}
}
